package org.brain.pojos;

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * Document entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "DOCUMENT", schema = "PUBLIC", catalog = "PUBLIC")
public class Document implements java.io.Serializable {

	// Fields

	private Integer documentid;
	private Documenttype documenttype;
	private Treemenu treemenu;
	private String author;
	private Date years;
	private String title;
	private String link;
	private String secondauthor;
	private String secondtitle;
	private String placeofpublication;
	private String press;
	private String serialnumber;
	private Integer pagenumber;
	private String referencescited;
	private double version;
	private Date date;
	private String simpletitle;
	private String isbn;
	private String classify;
	private String label;
	private String keywords;
	private String themewords;
	private String summary;
	private String note;
	private String image;
	private String language;
	private Date lastsearchtime;
	private Date createtime;
	private Date edittime;

	// Constructors

	/** default constructor */
	public Document() {
	}

	/** minimal constructor */
	public Document(Documenttype documenttype, Treemenu treemenu,
			String author, String title, String classify, String keywords,
			String themewords, String summary) {
		this.documenttype = documenttype;
		this.treemenu = treemenu;
		this.author = author;
		this.title = title;
		this.classify = classify;
		this.keywords = keywords;
		this.themewords = themewords;
		this.summary = summary;
	}

	/** full constructor */
	public Document(Documenttype documenttype, Treemenu treemenu,
			String author, Date years, String title, String link,
			String secondauthor, String secondtitle, String placeofpublication,
			String press, String serialnumber, Integer pagenumber,
			String referencescited, double version, Date date,
			String simpletitle, String isbn, String classify, String label,
			String keywords, String themewords, String summary, String note,
			String image, String language, Date lastsearchtime,
			Date createtime, Date edittime) {
		this.documenttype = documenttype;
		this.treemenu = treemenu;
		this.author = author;
		this.years = years;
		this.title = title;
		this.link = link;
		this.secondauthor = secondauthor;
		this.secondtitle = secondtitle;
		this.placeofpublication = placeofpublication;
		this.press = press;
		this.serialnumber = serialnumber;
		this.pagenumber = pagenumber;
		this.referencescited = referencescited;
		this.version = version;
		this.date = date;
		this.simpletitle = simpletitle;
		this.isbn = isbn;
		this.classify = classify;
		this.label = label;
		this.keywords = keywords;
		this.themewords = themewords;
		this.summary = summary;
		this.note = note;
		this.image = image;
		this.language = language;
		this.lastsearchtime = lastsearchtime;
		this.createtime = createtime;
		this.edittime = edittime;
	}

	// Property accessors
	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "DOCUMENTID", unique = true, nullable = false)
	public Integer getDocumentid() {
		return this.documentid;
	}

	public void setDocumentid(Integer documentid) {
		this.documentid = documentid;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "TYPEID", nullable = false)
	public Documenttype getDocumenttype() {
		return this.documenttype;
	}

	public void setDocumenttype(Documenttype documenttype) {
		this.documenttype = documenttype;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "NODEID", nullable = false)
	public Treemenu getTreemenu() {
		return this.treemenu;
	}

	public void setTreemenu(Treemenu treemenu) {
		this.treemenu = treemenu;
	}

	@Column(name = "AUTHOR", nullable = false, length = 20)
	public String getAuthor() {
		return this.author;
	}

	public void setAuthor(String author) {
		this.author = author;
	}

	@Column(name = "YEARS", length = 26)
	public Date getYears() {
		return this.years;
	}

	public void setYears(Date years) {
		this.years = years;
	}

	@Column(name = "TITLE", nullable = false, length = 50)
	public String getTitle() {
		return this.title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	@Column(name = "LINK", length = 200)
	public String getLink() {
		return this.link;
	}

	public void setLink(String link) {
		this.link = link;
	}

	@Column(name = "SECONDAUTHOR")
	public String getSecondauthor() {
		return this.secondauthor;
	}

	public void setSecondauthor(String secondauthor) {
		this.secondauthor = secondauthor;
	}

	@Column(name = "SECONDTITLE", length = 50)
	public String getSecondtitle() {
		return this.secondtitle;
	}

	public void setSecondtitle(String secondtitle) {
		this.secondtitle = secondtitle;
	}

	@Column(name = "PLACEOFPUBLICATION", length = 20)
	public String getPlaceofpublication() {
		return this.placeofpublication;
	}

	public void setPlaceofpublication(String placeofpublication) {
		this.placeofpublication = placeofpublication;
	}

	@Column(name = "PRESS", length = 20)
	public String getPress() {
		return this.press;
	}

	public void setPress(String press) {
		this.press = press;
	}

	@Column(name = "SERIALNUMBER", length = 20)
	public String getSerialnumber() {
		return this.serialnumber;
	}

	public void setSerialnumber(String serialnumber) {
		this.serialnumber = serialnumber;
	}

	@Column(name = "PAGENUMBER")
	public Integer getPagenumber() {
		return this.pagenumber;
	}

	public void setPagenumber(Integer pagenumber) {
		this.pagenumber = pagenumber;
	}

	@Column(name = "REFERENCESCITED", length = 500)
	public String getReferencescited() {
		return this.referencescited;
	}

	public void setReferencescited(String referencescited) {
		this.referencescited = referencescited;
	}

	@Column(name = "VERSION", precision = 64, scale = 0)
	public double getVersion() {
		return this.version;
	}

	public void setVersion(double version) {
		this.version = version;
	}

	@Column(name = "DATE", length = 26)
	public Date getDate() {
		return this.date;
	}

	public void setDate(Date date) {
		this.date = date;
	}

	@Column(name = "SIMPLETITLE", length = 20)
	public String getSimpletitle() {
		return this.simpletitle;
	}

	public void setSimpletitle(String simpletitle) {
		this.simpletitle = simpletitle;
	}

	@Column(name = "ISBN", length = 20)
	public String getIsbn() {
		return this.isbn;
	}

	public void setIsbn(String isbn) {
		this.isbn = isbn;
	}

	@Column(name = "CLASSIFY", nullable = false, length = 20)
	public String getClassify() {
		return this.classify;
	}

	public void setClassify(String classify) {
		this.classify = classify;
	}

	@Column(name = "LABEL", length = 10)
	public String getLabel() {
		return this.label;
	}

	public void setLabel(String label) {
		this.label = label;
	}

	@Column(name = "KEYWORDS", nullable = false, length = 20)
	public String getKeywords() {
		return this.keywords;
	}

	public void setKeywords(String keywords) {
		this.keywords = keywords;
	}

	@Column(name = "THEMEWORDS", nullable = false, length = 20)
	public String getThemewords() {
		return this.themewords;
	}

	public void setThemewords(String themewords) {
		this.themewords = themewords;
	}

	@Column(name = "SUMMARY", nullable = false, length = 500)
	public String getSummary() {
		return this.summary;
	}

	public void setSummary(String summary) {
		this.summary = summary;
	}

	@Column(name = "NOTE", length = 500)
	public String getNote() {
		return this.note;
	}

	public void setNote(String note) {
		this.note = note;
	}

	@Column(name = "IMAGE")
	public String getImage() {
		return this.image;
	}

	public void setImage(String image) {
		this.image = image;
	}

	@Column(name = "LANGUAGE", length = 10)
	public String getLanguage() {
		return this.language;
	}

	public void setLanguage(String language) {
		this.language = language;
	}

	@Column(name = "LASTSEARCHTIME", length = 26)
	public Date getLastsearchtime() {
		return this.lastsearchtime;
	}

	public void setLastsearchtime(Date lastsearchtime) {
		this.lastsearchtime = lastsearchtime;
	}

	@Column(name = "CREATETIME", length = 26)
	public Date getCreatetime() {
		return this.createtime;
	}

	public void setCreatetime(Date createtime) {
		this.createtime = createtime;
	}

	@Column(name = "EDITTIME", length = 26)
	public Date getEdittime() {
		return this.edittime;
	}

	public void setEdittime(Date edittime) {
		this.edittime = edittime;
	}

}